home *** CD-ROM | disk | FTP | other *** search
/ Best Tools for JAVA / Best Tools for JAVA.iso / JAVA_ALL / JDBC / JDBC_HAR / JDBC-HAR.ZIP / jdbc-harness / JDBC-HARNESS-RELEASE-NOTES < prev    next >
Encoding:
Text File  |  1996-10-18  |  8.4 KB  |  307 lines

  1.         JDBC Test Harness Version .03 Release Notes
  2.  
  3.  
  4. What is the JDBC Test Harness?
  5. -----------------------------
  6. The JDBC Test Harness is a Java program for executing the JDBC Test
  7. Suite. This can be used by anyone wishing to test the functionality
  8. of a JDBC driver.
  9.  
  10. The Harness is implemented as a console program - JDBCTestWin - which
  11. provides the GUI for the jdbcTest.harness Java package. Both are
  12. written completely in Java.
  13.  
  14. The Harness was developed by JavaSoft.
  15.  
  16.  
  17. Who to contact?
  18. ---------------
  19. You can contact us at jdbc@wombat.eng.sun.com
  20.  
  21.  
  22. What version of JDBC is supported?
  23. ----------------------------------
  24. The Harness supports JDBC version 1.1.
  25.  
  26.  
  27. What operating systems are supported?
  28. -------------------------------------
  29. The Harness can be run on any system that supports Java. It was
  30. developed with JDK 1.0.2.
  31.  
  32.  
  33. Installation
  34. ------------
  35. You must have already installed Java, JDBC and a JDBC driver.
  36.  
  37. See the Java web page for info on installing the JDK and JDBC.
  38.  
  39. You must have access to a database and permission to create tables and
  40. database procedures.
  41.  
  42. The Harness will install itself in the jdbc-harness directory; be sure to
  43. add the jdbc-harness/classes directory to your Java CLASSPATH environment
  44. variable.
  45.  
  46. Both a compressed tar file for Unix and a zip file for Windows is
  47. provided. Be sure to use a version of unzip that preserves long file
  48. names.
  49.  
  50. For Solaris uncompress and extract (tar xvf) the files.
  51.  
  52.  
  53. Using the Harness
  54. -----------------
  55.  
  56. The Harness is run with the command:
  57.  
  58. java JDBCTestWin
  59.  
  60. It expects to find a JDBCTestWin.ini file in its current directory that
  61. tells it which tests to run and how to run them.
  62.  
  63. Use the Connection Menu - DatabaseConnection command to define the user, password and url for a connection to test. 
  64.  
  65. Use the Run Menu to Start and Stop a test run.
  66.  
  67. Each run rereads the JDBCTestWin.ini file so your can change the
  68. content of a test run without restarting the Harness.
  69.  
  70. The Harness window shows a running log of the run. In addition a full
  71. log as well as an abbreviated pass-fail log is produced. The JDBC test suite comes with an example JDBCTestWin.ini file.
  72.  
  73. The Harness must be run in the main directory of the JDBC test suite so
  74. that it can find it's tests.
  75.  
  76.  
  77. Specifying a JDBC Driver To Test
  78. --------------------------------
  79. The Harness loads the JDBC drivers specified in JDBCTestWin.ini.
  80.  
  81. ;This sets the java.sql.Driver class to be tested
  82. Drivers = jdbc.odbc.JdbcOdbcDriver
  83.  
  84.  
  85. Resource ini Files
  86. ------------------
  87. Some tests theselves use ini files for customizing there operation.
  88. JDBCTestWin.ini specifies the directory were these ini files are to be
  89. found.
  90.  
  91. [Resources]
  92. ;in this section put the path of resource files
  93. ; Some tests are database dependent; they use SQL which has been 
  94. ; stored in a resource file so that it can be easily changed 
  95. : for each DBMS
  96. ;
  97. ;Path=sqlserver-resources
  98. ;Path=sybase-resources
  99. Path=oracle-resources
  100.  
  101.  
  102.  
  103. Debugging
  104. ---------
  105. You can enable DriverManager tracing in JDBCTestWin.ini with:
  106.  
  107. [Driver Options]
  108. ;Set this to ON if you want full JDBC DriverManager tracing enabled.
  109. DriverManagerLog = ON 
  110.  
  111.  
  112. Writing Your Own Tests
  113. ----------------------
  114. You can write your own JDBC tests for the Harness. See the examples
  115. provided with the test suite.
  116.  
  117. If you have tests you would like to donate to us please send them to
  118. jdbc@wombat.
  119.  
  120.  
  121. Method of Operation
  122. -------------------
  123. Each JDBC driver test class extends the jdbcTest.harness.TestModule
  124. class. The Harness loads each class; creates an instance of it and
  125. executes its run method. Each test is executed in its own thread.
  126.  
  127. Currently the tests are executed sequencially. Later, we will add a
  128. mechanism for concurrent execution.
  129.  
  130. After executing each test the Harness calls java.lang.system.gc().
  131.  
  132.  
  133. Known Bugs
  134. ----------
  135. On NT/Win95 the Harness console window stops scrolling after a hundred
  136. or so lines. This is a cosmetic problem. All tests will still run and
  137. the logs will be complete.
  138.  
  139.  
  140.  
  141. A Typical JDBCTestWin.ini File
  142. ------------------------------
  143.  
  144. ; -- NOTE --
  145. ;It is expected that JDBCTestWin is executed in the top level test 
  146. ;directory. It expects to find this file named JDBCTestWin.ini which 
  147. ;contains the directives which control the test session. 
  148.  
  149.  
  150. [Driver Options]
  151. ;Set this to ON if you want full JDBC DriverManager tracing enabled.
  152. DriverManagerLog = OFF 
  153.  
  154. ;This sets the java.sql.Driver class to be tested
  155. Drivers = jdbc.odbc.JdbcOdbcDriver
  156.  
  157. [Resources]
  158. ;in this section put the path of resource files
  159. ; Some tests are database dependent; they use SQL which has been 
  160. ; stored in a resource file so that it can be easily changed 
  161. : for each DBMS
  162. ;
  163. ;Path=sqlserver-resources
  164. ;Path=sybase-resources
  165. Path=oracle-resources
  166.  
  167. [TestModules]
  168. ;in this section list the test modules you want to execute
  169. ; moduleid = description 
  170. connection.NativeSQL
  171. connection.TransactionIsolation
  172. connection.Catalog
  173. connection.DisableAutoClose
  174. connection.DisableAutoCommit
  175. connection.IsClosed
  176. connection.ReadOnly
  177. connection.Warning
  178.  
  179. rsmetadata.RSMeta = Result Set Meta Data
  180.  
  181. resultSet.Next
  182. resultSet.Close
  183. resultSet.GetXXX
  184. resultSet.GetStream
  185. resultSet.GetObject
  186. resultSet.GetXXXNamed
  187. resultSet.GetStreamNamed
  188. resultSet.GetObjectNamed
  189. resultSet.Null = wasNull() test
  190. resultSet.GetCursor
  191. resultSet.GetLongs = large char and large binary value test
  192.  
  193.  
  194. ;The data.Drop, data.CreateTables and data.CreateProcedures tests 
  195. ;just run the SQL in their ini files. 
  196. ;
  197. ;NOTE - you must set your Resources path above to a directory that 
  198. ;contains the ini files for these tests in the correct syntax for 
  199. ;your DBMS.
  200. ;
  201. ;The following tests rely on the tables and procedures created by them. 
  202. ;They won't run correctly if these do not exist.
  203.  
  204. data.Drop = Drop Test Tables and Procedures
  205. data.CreateTables = Create Test Tables
  206. data.CreateProcedures = Create Test Procedures
  207.  
  208. dbmetadata.DBInfo = Functions that provide info about the DBMS
  209. dbmetadata.Supported = Supported Features Test
  210. dbmetadata.Limits = Test Various DBMS and Driver Limitations
  211. dbmetadata.GetSchemas = Test Schema and Catalog Metadata
  212. dbmetadata.GetTables = Test Table Metadata
  213. dbmetadata.GetColumns = Test Column Metadata
  214. dbmetadata.GetProcedures = Test Procedure Metadata
  215. dbmetadata.Conversions = Test Data Type Conversions
  216.  
  217. statement.cancel
  218. statement.clearWarnings
  219. statement.executeQuery
  220. statement.executeUpdate
  221.  
  222. ;This test uses multiple SQL statements terminated with ';' to generate 
  223. ;multiple results. It only works on some systems.
  224. ;statement.getMoreResults
  225.  
  226. statement.getResultSet
  227. statement.getUpdateCount
  228. statement.getWarnings
  229. statement.setEscapeProcessing
  230. statement.setMaxFieldSize
  231. statement.setMaxRows
  232. statement.setQueryTimeout
  233.  
  234. preparedStatement.cancel
  235. preparedStatement.clearParameters
  236. preparedStatement.clearWarnings
  237. preparedStatement.executeQuery
  238. preparedStatement.executeUpdate
  239. preparedStatement.getResultSet
  240. preparedStatement.getUpdateCount
  241. preparedStatement.getWarnings
  242. preparedStatement.setAsciiStream
  243. preparedStatement.setBinaryStream
  244. preparedStatement.setBoolean
  245. preparedStatement.setByte
  246. preparedStatement.setBytes
  247. preparedStatement.setDate
  248. preparedStatement.setDouble
  249. preparedStatement.setEscapeProcessing
  250. preparedStatement.setFloat
  251. preparedStatement.setInt
  252. preparedStatement.setLong
  253. preparedStatement.setMaxFieldSize
  254. preparedStatement.setMaxRows
  255. preparedStatement.setNull
  256. preparedStatement.setNumeric
  257. preparedStatement.setObject
  258. preparedStatement.setQueryTimeout
  259. preparedStatement.setShort
  260. preparedStatement.setString
  261. preparedStatement.setTime
  262. preparedStatement.setTimestamp
  263. preparedStatement.setUnicodeStream
  264.  
  265. callableStatement.getBoolean
  266. callableStatement.getByte  
  267. callableStatement.getBytes  
  268. callableStatement.getDate 
  269. callableStatement.getDouble 
  270. callableStatement.getFloat  
  271. callableStatement.getInt    
  272. callableStatement.getLong   
  273. callableStatement.getNumeric 
  274. callableStatement.getObject 
  275. callableStatement.getShort  
  276. callableStatement.getString 
  277. callableStatement.getTime 
  278. callableStatement.getTimestamp 
  279. callableStatement.wasNull    
  280. callableStatement.setBoolean
  281. callableStatement.setByte
  282. callableStatement.setBytes
  283. callableStatement.setDate
  284. callableStatement.setDouble
  285. callableStatement.setFloat
  286. callableStatement.setInt
  287. callableStatement.setLong
  288. callableStatement.setNull
  289. callableStatement.setNumeric
  290. callableStatement.setObject
  291. callableStatement.setShort
  292. callableStatement.setString
  293. callableStatement.setTime
  294. callableStatement.setTimestamp
  295.  
  296. data.Drop = Drop Test Tables and Procedures
  297.  
  298. [Log Files]
  299. ;in this section put the names of log files
  300.  
  301. ;The pass-fail log is a brief log of the test session.
  302. passfail = passfail.log
  303.  
  304. ;The output log is a more detailed log of the test session.
  305. output = test.log
  306.  
  307.